﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QskjDownloadVideo.Dto
{
    public class DownloadVideoFileDto
    {
        /// <summary>
        /// Id
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 用户名
        /// </summary>
        public string? userName { get; set; }
        /// <summary>
        /// 车牌号
        /// </summary>
        public string? licensePlate { get; set; }
        /// <summary>
        /// 通道信息
        /// </summary>
        public string? channel { get; set; }
        /// <summary>
        /// 设备编号
        /// </summary>
        public string? deviceId { get; set; }
        /// <summary>
        /// 下载文件开始时间
        /// </summary>
        public string? createtimeFiledts { get; set; }
        /// <summary>
        /// 下载文件结束时间
        /// </summary>
        public string? createtimeFiledte { get; set; }
        /// <summary>
        /// 下载文件地址
        /// </summary>
        public string? url { get; set; }
        /// <summary>
        /// ftp文件地址
        /// </summary>
        public string? ftpurl { get; set; }
        /// <summary>
        /// 下载文件大小
        /// </summary>
        public string? fileSize { get; set; }
        /// <summary>
        /// 下载任务状态，0-离线,1未开始,2-下载中,3已完成
        /// </summary>
        public string? status { get; set; }
        /// <summary>
        /// 下载文件状态
        /// </summary>
        public string? statusName { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? remarks { get; set; }
        /// <summary>
        /// 下载标识Id
        /// </summary>
        public string? playId { get; set; }
        /// <summary>
        /// 水印信息
        /// </summary>
        public string? filewatermarkinfo { get; set; }
        /// <summary>
        /// 设备供应商
        /// </summary>
        public string? supplier { get; set; }
        /// <summary>
        /// FTP上传结束标记
        /// </summary>
        public string? SerialMark { get; set; }
    }
    public class PlayUrlToken
    {
        /// <summary>
        /// 
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string token { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string msg { get; set; }
    }
    public class S_SystemUrl  
    {
        /// <summary>
        /// 名称
        /// </summary>
        public string? Name { get; set; }
        /// <summary>
        /// 关键标识
        /// </summary>
        public string? KeyName { get; set; }
        /// <summary>
        /// 地址或信息
        /// </summary>
        public string? Url { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreateUser { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public string? CreateTime { get; set; }
        /// <summary>
        /// 组别
        /// </summary>
        public string? GroupName { get; set; }
    }
    /// <summary>
    /// webRtcToken信息
    /// </summary>
    public class WebRtcToken
    {
        /// <summary>
        /// 编号
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// 描述信息
        /// </summary>
        public string description { get; set; }
        /// <summary>
        /// token信息
        /// </summary>
        public string data { get; set; }
    }
    public class UrlContent
    { 
        /// <summary>
        /// 下载视频Id
        /// </summary>
        public string playID { get; set; }
        /// <summary>
        /// 下载进度
        /// </summary>
        public int progress { get; set; }
        /// <summary>
        /// 文件地址
        /// </summary>
        public string downloadURL { get; set; }
        /// <summary>
        /// 文件大小
        /// </summary>
        public int fileSize { get; set; }
    }
    public class PlayUrlData
    {
        /// <summary>
        /// 
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string description { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UrlContent data { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string msg { get; set; }
    }



    public class ResponseStatusObjectItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string StatusString { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Id { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string RequestURL { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string StatusCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string LocalTime { get; set; }
    }
    public class DataInfo
    {
        /// <summary>
        /// 
        /// </summary>
        public ResponseStatusListObject ResponseStatusListObject { get; set; }
    }
    public class ResponseStatusListObject
    {
        /// <summary>
        /// 
        /// </summary>
        public List<ResponseStatusObjectItem> ResponseStatusObject { get; set; }
    }
    public class DataFile
    {
        /// <summary>
        /// 
        /// </summary>
        public ResponseStatusObject ResponseStatusObject { get; set; }
    }
    public class ResponseStatusObject
    {
        /// <summary>
        /// 
        /// </summary>
        public string RequestURL { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int StatusCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string StatusString { get; set; }
    }
    public class VideoSliceInfo
    {
        /// <summary>
        /// 
        /// </summary>
        public string VideoID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int InfoKind { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string VideoSource { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string OriginVideoID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string OriginVideoURL { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int EventSort { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string StoragePath { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ThumbnailStoragePath { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string FileHash { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string FileFormat { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CodedFormat { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int AudioFlag { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TitleNote { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string SpecialName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Keyword { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ContentDescription { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string MainCharacter { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ShotPlaceCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ShotPlaceFullAdress { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CollectorName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CollectorOrg { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CollectorID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string EntryClerk { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string EntryClerkOrg { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string EntryClerkID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceSNNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ImeiSn { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string APSId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string SelfDefData { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string VideoSliceProgress { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string VideoStatusString { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string GroupID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TradeHash { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ThumbnailLocalPath { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string SourceID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string IsAbstractVideo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string HorizontalShotDirection { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string VerticalShotDirection { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string SecurityLevel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string QualityGrade { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CollectorIDType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string EntryClerkIDType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string EntryTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string KDExpiredDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string PlaceCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ProvinceCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CityCode { get; set; }
    }

    public class VideoSliceItem
    {
        /// <summary>
        /// 
        /// </summary>
        public VideoSliceInfo VideoSliceInfo { get; set; }
    }
    /// <summary>
    /// 查询视频视图库地址
    /// </summary>
    public class DataVideoUrl
    {
        /// <summary>
        /// 
        /// </summary>
        public VideoSliceListObject VideoSliceListObject { get; set; }
    }
    public class VideoSliceListObject
    {
        /// <summary>
        /// 
        /// </summary>
        public List<VideoSliceItem> VideoSlice { get; set; }
    }

    public class DataImageUrl
    {
        public ImageListObject ImageListObject { get; set; }
    }
    public class ImageListObject
    {
        public List<ImageItme> Image { get; set; }
    }
    public class ImageItme
    {
        public ImageInfo ImageInfo { get; set; }
    }
    public class ImageInfo
    {
        public string ImageID { get; set; }
        public string FileFormat { get; set; }
        public string Title { get; set; }
        public string ContentDescription { get; set; }
        public string StoragePath { get; set; }
    }
}
